One example of an information processing apparatus of such a kind is disclosed in Japanese Patent Application Laying-Open No. 2001-1.57782 [A63F 13/12, G06F 13/00] (document 1) laid-open on Jun. 12, 2001. In an opponent deciding system of this document 1, a computer for manager accepts participants in a network game tournament, decides opponents after the acceptance of the participants, notifies the opponent to each participant, and transmits instruction data of a game start to each of the players battling with each other. During playing the game, without using the computer for manager as a server, that is, without intervention by the computer for manager, by transmitting and receiving data between computers of the participants, the game is progressed.
Recently, cheat actions and falsification of data in a computer game are rampant, and when a network game is performed via a network, receiving opponent data falsified as it does not usually happen and playing the game have increased. Accordingly, in a case that as in the opponent deciding system disclosed in the document 1, merely, the participants are accepted to decide the opponents, and then, the game is progressed between the computers of the participants thereafter, it is difficult to prevent the falsified data from being used. Thus, in the computer of the receiving end of the falsified data, a game balance is lost, resulting in less interest in the game by the player using this computer.
Therefore, it is a primary object of the present invention to provide a novel storage medium, a novel information processing apparatus, a novel information processing method and a novel information processing system.
Furthermore, another object of the present invention is to provide a storage medium, an information processing apparatus, an information processing method and an information processing system capable of exchanging data with other apparatuses without falsification of data.
A first invention is a storage medium storing an information processing program to be executed by a computer of an information processing apparatus performing processing based on taken data, and the information processing program causes the computer to function as a processing data calculator, an outputter, an inputter, a verification data calculator, and an executor. The processing data calculator calculates processing data from predetermined data by using a predetermined one-way function. The outputter outputs the predetermined data and the processing data calculated by the processing data calculator to outside. The inputter inputs predetermined data and processing data from outside. For example, the predetermined data and the processing data that are input by the inputter are acquired from other information processing apparatuses and a storage medium detachable to the information processing apparatus. The verification data calculator calculates verification data from the predetermined data input by the inputter by using the predetermined one-way function. The executor executes predetermined processing by using the processing data when the processing data input by the inputter and the verification data calculated by the verification data calculator are coincident with each other, that is, in a case that the processing data is correct.
According to the first invention, in a case that the processing data is correct, the predetermined processing is executed by using the processing data, and therefore, it is possible to prevent the processing from being executed by using falsified data. Thus, it is possible to prevent falsification of the data itself. That is, it is possible to exchange data with the other apparatus without the falsification of the data being performed.
A second invention is according to the first invention, wherein an information processing program causes a computer to further function as a predetermined data generator and a correctness determiner. The predetermined data generator generates the predetermined data including determinable data capable of determining correctness. The correctness determiner determines correctness of the determinable data included in the predetermined data input by the inputter. The verification data calculator calculates the verification data when the correctness determiner determines to be correct.
According to the second invention, the correctness of the determinable data included in the predetermined data is further determined, and therefore, it is possible to highly prevent the processing from being executed by using falsified data.
A third invention is according to the first invention, wherein the executor executes predetermined processing by using the processing data as a parameter. Here, the parameter calculated based on the processing data may be used.
According to the third invention, the processing data is used as a parameter, and therefore, it is possible to prevent the parameter from being falsified.
A fourth invention is according to the second invention, wherein the determinable data is information specific to the information processing apparatus.
According to the fourth invention, the information specific to the information processing apparatus is used as determinable data, and therefore, it is possible to easily determine whether or not the predetermined data or the determinable data is incorrect data generated in other information processing apparatuses.
A fifth invention is according to the fourth invention, wherein the correctness determiner determines to be correct if the information specific to the information processing apparatus included in the predetermined data input by the inputter is information specific to the information processing apparatus being a source of outputs of the predetermined data and the processing data that are input by the inputter. For example, the information specific to the information processing apparatus is information representing a source of the output, such as ID of the information processing apparatus.
According to the fifth invention, the information representing the source of the output is used as information specific to the information processing apparatus, and therefore, it is possible to easily determine the correctness.
A sixth invention is according to the fourth invention, wherein the information specific to the information processing apparatus includes an MAC address of the information processing apparatus.
According to the sixth invention, the MAC address is used as information specific to the information processing apparatus, and therefore, no information need not be newly assigned, and therefore, it is possible to easily determine the correctness of the information specific to the information processing apparatus.
A seventh invention is according to the fourth invention, wherein the information specific to the information processing apparatus includes date and time information (information about year, month and date and hour, minute, second) when the predetermined data is generated. This is because it is conceived that coincidence in the time when the predetermined data is generated scarcely occurs.
According to the seventh invention, by using the date and time information when the predetermined data is generated as well, it is possible to determine the correctness of the information specific to the information processing apparatus.
An eighth invention is according to the seventh invention, wherein the correctness determiner determines to be correct if the date and time information included in the predetermined data input by the inputter does not exist date and time information being coincident with the date and time information included in the predetermined data that was input by the inputter before. However, if the date and time information is redundant, the correctness determiner determines to be incorrect.
According to the eighth invention, the date and time information included in the predetermined data is merely compared, and therefore, it is possible to easily determine the correctness.
A ninth invention is according to the fourth invention, wherein the information specific to the information processing apparatus includes processing-specific information capable of recognizing processing to be executed by the executor. For example, as processing-specific information, titles of the programs and software are relevant.
According to the ninth invention, by using the processing-specific information capable of recognizing processing to be executed by the executor as information specific to the information processing apparatus as well, it is possible to determine the correctness.
A tenth invention is according to the ninth invention, wherein the correctness determiner further determines to be correct if the processing-specific information included in the predetermined data input by the inputter represents the processing to be executed by the executor.
According to the tenth invention, whether or not the processing-specific information representing the processing to be executed by the executor is merely determined, and therefore, it is possible to easily determine the correctness of the information specific to the information processing apparatus.
An eleventh invention is according to the fourth invention, wherein the predetermined data further includes values varying at random. The values varying at random are, for example, random numbers or pseudorandom numbers.
According to the eleventh invention, the predetermined data includes values varying at random, and therefore, even the same information processing apparatus can variably calculate the processing data.
A twelfth invention is according to the first invention, wherein the predetermined one-way function is a hash function.
According to the twelfth invention, the processing data is calculated by the hash function, and therefore, it is almost impossible to know the predetermined data from the processing data, and it is possible to prevent the data from being falsified.
A thirteenth invention is according to the first invention, and the information processing apparatus is connected to a network. The outputter includes a transmitter transmitting the predetermined data and the processing data to other information processing apparatuses on the network. The inputter includes a receiver receiving the predetermined data and the processing data from other information processing apparatuses on the network.
According to the thirteenth invention, it is possible to exchange the predetermined data and the processing data by communications.
A fourteenth invention is an information processing apparatus performing processing based on taken data, and comprises a processing data calculator, an outputter, an inputter, a verification data calculator, and an executor. The processing data calculator calculates processing data from predetermined data by using a predetermined one-way function. The outputter outputs the predetermined data and the processing data calculated by the processing data calculator to outside. The inputter inputs predetermined data and processing data from outside. The verification data calculator calculates verification data from the predetermined data input by the inputter by using the predetermined one-way function. The executor executes predetermined processing by using the processing data when the processing data input by the inputter and the verification data calculated by the verification data calculator are coincident with each other.
A fifteenth invention is an information processing method of an information processing apparatus performing processing based on taken data, including following steps of: (a) calculating processing data from predetermined data by using a predetermined one-way function; (b) outputting the predetermined data and the processing data calculated by the step (a) to outside; (c) inputting predetermined data and processing data from outside; (d) calculating verification data from the predetermined data input by the step (c) by using the predetermined one-way function; and (e) executing predetermined processing by using the processing data when the processing data input by the step (c) and the verification data calculated by the step (d) are coincident with each other.
A sixteenth invention is an information processing system having at least two information processing apparatuses performing processing based on taken data, each of the information processing apparatuses comprises a processing data calculator, an outputter, an inputter, a verification data calculator, and an executor. The processing data calculator calculates processing data from predetermined data by using a predetermined one-way function. The outputter outputs the predetermined data and the processing data calculated by the processing data calculator to outside. The inputter inputs predetermined data and processing data from outside. The verification data calculator calculates verification data from the predetermined data input by the inputter by using the predetermined one-way function. The executor executes predetermined processing by using the processing data when the processing data input by the inputter and the verification data calculated by the verification data calculator are coincident with each other.
In the fourteenth to sixteenth inventions as well, similar to the first invention, it is possible to exchange data with the other apparatus without falsification of the data.
A seventeenth invention is a storage medium storing a game program to be executed by a computer of a game apparatus performing processing based on taken data, and the game program causes a computer to function as a processing data calculator, an outputter, an inputter, a verification data calculator, and a game executor. The processing data calculator calculates processing data from predetermined data including values varying at random by using a predetermined one-way function. The outputter outputs the predetermined data and the processing data calculated by the processing data calculator to outside. The inputter inputs predetermined data including values varying at random and processing data from outside. The verification data calculator calculates verification data from the predetermined data input by the inputter by using the predetermined one-way function. The game executor executes game processing by using the processing data when the processing data input by the inputter and the verification data calculated by the verification data calculator are coincident with each other, that is, in a case that the processing data is correct. In the invention of this game program, the predetermined data includes values varying at random, and therefore, the processing data generated from the predetermined data are varied every time.
An eighteenth invention is a game apparatus performing processing based on taken data, and comprises a processing data calculator, an outputter, an inputter, a verification data calculator, and a game executor. The processing data calculator calculates processing data from predetermined data including values varying at random by using a predetermined one-way function. The outputter outputs the predetermined data and the processing data calculated by the processing data calculator to outside. The inputter inputs predetermined data including values varying at random and processing data from outside. For example, the predetermined data and the processing data that are input by the inputter are acquired from other game apparatuses and a storage medium detachable to the game apparatuses. The verification data calculator calculates verification data from the predetermined data input by the inputter by using the predetermined one-way function. The game executor executes game processing by using the processing data when the processing data input by the inputter and the verification data calculated by the verification data calculator are coincident with each other, that is, in a case that the processing data is correct.
A nineteenth invention is a game controlling method of a game apparatus performing processing based on taken data, including following steps of: (a) calculating processing data from predetermined data including values varying at random by using a predetermined one-way function; (b) outputting the predetermined data and the processing data calculated by the step (a) to outside; (c) inputting predetermined data including values varying at random and processing data from outside; (d) calculating verification data from the predetermined data input by the step (c) by using the predetermined one-way function; and (e) executing game processing by using the processing data when the processing data input by the step (c) and the verification data calculated by the step (d) are coincident with each other.
A twentieth invention is a game system having at least two game apparatuses performing processing based on taken data, and each of the game apparatuses comprises a processing data calculator, an outputter, an inputter, a verification data calculator, and a game executor. The processing data calculator calculates processing data from predetermined data including values varying at random by using a predetermined one-way function. The outputter outputs the predetermined data and the processing data calculated by the processing data calculator to outside. The inputter inputs predetermined data including values varying at random and processing data from outside. For example, the predetermined data and the processing data that are input by the inputter are acquired from other game apparatuses and a storage medium detachable to game apparatuses. The verification data calculator calculates verification data from the predetermined data input by the inputter by using the predetermined one-way function. The game executor executes game processing by using the processing data when the processing data input by the inputter and the verification data calculated by the verification data calculator are coincident with each other, that is, in a case that the processing data is correct.
In the seventeenth to twentieth inventions as well, similar to the first invention, it is possible to exchange data with the other apparatus without falsification of the data.
The above described objects and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.